package com.flow.asyncflow.core.entity.config;

import com.flow.asyncflow.core.entity.core.AsyncFlowRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 异步流持久化信息【全局信息】
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class AsyncFlowInfo extends AsyncFlowConfigInfo {
    /**
     * 节点流名称
     */
    private String flowName;

    /**
     * 订单节点流维护人工号用“|” 隔开,用于报警通知使用
     */

    private String flowMaintainName;
    /**
     * 超时报警阈值
     */
    private int timeOutsLimit;

    /**
     * 是否记录节点日志
     */
    private boolean ignoreFlowLog;
    /**
     * 是否是测试数据（线上数据来本地进行测试）
     */
    private boolean test;


    /**
     * 异步流每次请求的相关信息
     */
    //private AsyncFlowRequestInfo asyncFlowRequestInfo = new AsyncFlowRequestInfo();

    /**
     * 异步流每次请求的相关信息
     */
    @Data
    public static class AsyncFlowRequestInfo {
        /**
         * 操作类型枚举名称
         */
        private String reqTypeEnumName;
        /**
         * 操作类型枚举说明
         */
        private String reqTypeEnumMsg;
        /**
         * 请求时间
         */
        private LocalDateTime requesterTime;
    }
}


